 package cn.itcast.crm.service;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import cn.itcast.crm.domain.Customer;

public interface CustomerService {
	
	//查询所有未关联的客户列表
	@Path("/noassociationcustomer")
	@GET
	@Produces({"application/xml","application/json"})
	public List<Customer> findNoAssociationCustomer();
	
	//查询所有已关联客户列表
	@Path("/associationfixedareacustomer/{fixedAreaId}")
	@GET
	@Produces({"application/xml","application/json"})
	public List<Customer> findHasAssociationFixedAreaCustomer(@PathParam("fixedAreaId") String fixedAreaId);
	
	//将客户关联到定区上
	@Path("/associationcustomertofixedarea")
	@PUT
	public void associationCustomerToFixedArea(@QueryParam("customerIdStr") String customerIdStr, 
			                                   @QueryParam("fixedAreaId") String fixedAreaId);
	
	//保存注册的客户
	@Path("/customer")
	@POST
	@Consumes({"application/xml","application/json"})
	public void regist(Customer customer);
	
	//根据电话号码查询客户
	@Path("/customer/telephone/{telephone}")
	@GET
	@Consumes({"application/xml","application/json"})
	public Customer findByTelephone(@PathParam("telephone") String telephone);
	
	//更改是否绑定邮箱的状态码
	@Path("/customer/updatetype/{telephone}")
	@GET
	@Consumes({"application/xml","application/json"})
	public void updateType(@PathParam("telephone") String telephone);
	
	//用户登陆功能
	@Path("customer/login")
	@GET
	@Consumes({"application/xml","application/json"})
	public Customer login(@QueryParam("telephone") String telephone,@QueryParam("password") String password);
	
	
	//自动分单
	@Path("/customer/findFixedAreaIdByAddress")
	@GET
	@Consumes({"application/xml","application/json"})
	public String findFixedAreaIdByAddress(@QueryParam("address") String address);
}
